The present application relates to software and more specifically to user interface designs and methods for manipulating information visualizations, such as network diagrams.
Visualizations are employed in various demanding applications, including enterprise resource planning, scientific research, financial data analysis, computer network topology design, social network analysis, and so on. Such applications often involve large datasets, of which a portion or all of the data may be incorporated into a visualization. The data may include patterns and other characteristics that may be illustrated via a visualization. Such applications often demand particularly illustrative visualizations that can reveal patterns and information in the data and that may be manipulated to enable users to quickly ascertain desired information.
Illustrative visualizations are particularly important in social network analysis, computer network topology design, and enterprise data applications, where multiple attributes, patterns, and complex phenomena may exist in granular data to be illustrated via a visualization. Complex underlying data may yield large unwieldy visualizations, with potentially hundreds or thousands of nodes and links, which may not fit within a single display area, especially when mobile devices, such as tablets and smartphones, are used to display the visualizations on relatively small displays. Connections and relationships between different types of nodes may be unclear, and important data patterns may be hidden among diagram complexity.
Conventionally, complex visualizations and accompanying user interfaces may provide certain features, such as panning, zooming, summarizing, and filtering features, for manipulating the visualizations. However, such features typically provide incomplete perspectives or views of the underlying data, where important relationships between nodes are hidden or obscured, and overall context is lost.
To reduce diagram complexity, container nodes may be employed. A container node may represent a summary node that includes several components. For example a node in a computer network diagram representing a server cluster may represent a container node that includes individual server components. However, use of container nodes to reduce diagram complexity may limit operations that can be performed on container node components, as container node components typically must remain with the container node. Furthermore, important data patterns may remain hidden.
Hence, conventional visualizations and accompanying techniques and user interfaces may lack effective mechanisms for selectively reducing complexity of potentially overwhelmingly complex visualizations while preserving and illustrating important data patterns and relationships.